---
title: "RESULTADOS MENSAIS"
output:
flexdashboard::flex_dashboard:
orientation: rows
#vertical_layout: fill
vertical_layout: scroll
logo: pp.png
social: [ "twitter", "facebook","google +", "linkedin", "pinterest" ]
source_code: embed
#runtime: shiny
---
```{r setup, include=FALSE}
#devtools::install_github("jeromefroe/circlepackeR")
#library(devtools)
library(flexdashboard)
library(readxl)
library(tidyr)
library(plotly)
library(ggmap)
library(RColorBrewer)
library(treemap)
library(hrbrthemes)
library(circlepackeR)
library(data.tree)
library(babynames)
library(viridis)
library(dplyr)
library(lubridate)
library(DT)
library(wordcloud2)
library(wordcloud)
#library(d3treeR)
library(chorddiag)
library(circlize)
#setwd(dirname(rstudioapi::getActiveDocumentContext()$path)) #set no local onde o script está
#setwd("D:/GoogleG Drive/Trabalho/SICOOB/DASHBOARD")
#função criada para computar quantos dias tem o mês
numberOfDays <- function(date) {
m <- format(date, format="%m")
while (format(date, format="%m") == m) {
date <- date + 1
}
return(as.integer(format(date - 1, format="%d")))
}
PROJETOS_ASCOM <- read_excel("C:/Users/pedro.silva/OneDrive - Sicoob/PAUTA_MARKETING/ASCOM/01.REVISTAS_RELATORIOS.xlsm", sheet = 1)
PROJETOS_ASCOM$`DATA DE ENTREGA`=as.Date(PROJETOS_ASCOM$`DATA DE ENTREGA`, origin = "1899-12-30")
revistas_relatorios_total = PROJETOS_ASCOM %>% filter(`DATA DE ENTREGA`>=as.Date(cut(Sys.Date(), "year")))
PROJETOS_ASCOM = PROJETOS_ASCOM %>% filter(`DATA DE ENTREGA`>=(as.Date(cut(Sys.Date(), "month")) %m-% months(1)) & `DATA DE ENTREGA`<(as.Date(cut(Sys.Date(), "month")) %m-% months(1) + numberOfDays((as.Date(cut(Sys.Date(), "month")) %m-% months(1)))))
ATENDIMENTO_A_IMPRENSA <- read_excel("C:/Users/pedro.silva/OneDrive - Sicoob/PAUTA_MARKETING/ASCOM/02.atendimento_a_imprensa.xlsx", sheet = 2)
ATENDIMENTO_A_IMPRENSA=cbind(ATENDIMENTO_A_IMPRENSA, rep(1, nrow(ATENDIMENTO_A_IMPRENSA)))
names(ATENDIMENTO_A_IMPRENSA)=c(names(ATENDIMENTO_A_IMPRENSA[,1:(ncol(ATENDIMENTO_A_IMPRENSA)-1)]), 'Nº DE PEÇAS')
ATENDIMENTO_A_IMPRENSA = ATENDIMENTO_A_IMPRENSA %>% filter(`DATA DO CONTATO`>=(as.Date(cut(Sys.Date(), "month")) %m-% months(1)) & `DATA DE ENTREGA`<(as.Date(cut(Sys.Date(), "month")) %m-% months(1) + numberOfDays((as.Date(cut(Sys.Date(), "month")) %m-% months(1)))))
glpi_ascom<- read_excel("C:/Users/pedro.silva/OneDrive - Sicoob/PAUTA_MARKETING/ASCOM/04.ASCOM_GLPI.xlsm", sheet=1)
glpi_ascom$`DATA DE ENTREGA`=as.Date(glpi_ascom$`DATA DE ENTREGA`, origin = "1899-12-30")
#removendo Redator
#redator <- read_excel("C:/Users/pedro.silva/OneDrive - Sicoob/PAUTA_MARKETING/SUPORTE DE QUALIDADE/REDAÇÃO/01.REDATOR.xlsm", sheet=1)
#redator$`DATA DE ENTREGA`=as.Date(redator$`DATA DE ENTREGA`, origin = "1899-12-30")
#glpi_ascom=merge(glpi_ascom, redator, all=T)
glpi_ascom=glpi_ascom %>% filter(`DATA DE ENTREGA`>=(as.Date(cut(Sys.Date(), "month")) %m-% months(1)) & `DATA DE ENTREGA`<(as.Date(cut(Sys.Date(), "month")) %m-% months(1) + numberOfDays((as.Date(cut(Sys.Date(), "month")) %m-% months(1)))))
PROJETOS_ASCOM=merge(PROJETOS_ASCOM, glpi_ascom, all=T)
pesos <- read_excel("PESOS/Pesos ASCOM_2.xlsx", sheet=2)
#setwd("M:/14_Comunicação_e_Marketing/33_Equipe/Pedro Longhin/PRINCIPAL/ANALISE DE DADOS/FONTE_GLPI_TAREFAS")
glpi_2020<- read_excel("C:/Users/pedro.silva/Desktop/R LOCAL/GLPI/glpi.xlsx")
```
Revistas e Relatórios de gestão {data-navmenu="ASCOM"}
=====================================
Row {data-width=150}
--------------------------------------
### Total de serviços prestados
```{r}
newhires=(PROJETOS_ASCOM %>% nrow()) - (PROJETOS_ASCOM %>% filter(`Nº DE PEÇAS`>=1) %>% nrow()) + +sum(na.omit(PROJETOS_ASCOM$`Nº DE PEÇAS`)) + (ATENDIMENTO_A_IMPRENSA %>% nrow())
valueBox(value = newhires,icon = "fa-thumbs-up",caption = "Serviços Executados no mês",color = "#7DB61C")
```
### Relatórios de Gestão e Resvistas
```{r}
exits= PROJETOS_ASCOM %>% filter(CATEGORIA %in% c("RELATÓRIO DE GESTÃO", "RELATÓRIO DE GESTÃO REDUZIDO", "REVISTA")) %>% nrow()
valueBox(value = exits,icon = "fa-pencil",caption = "Relatórios de Gestão e Revistas", color = "#00AE9D")
```
### Chamados via GLPI e outras fontes
```{r}
chamados= glpi_ascom %>% nrow()
valueBox(value = chamados,icon = "fa-comments",caption = "Chamados atendidos", color = "#49479D")
```
### Atendimento a imprensa
```{r}
netchange=ATENDIMENTO_A_IMPRENSA %>% nrow()
valueBox(value = netchange,icon = "fa-user-plus",caption = "Atendimento à Imprensa", color = "orange")
```
### Chamados de COVID-19
```{r}
covid19 = glpi_ascom %>% filter(STATUS != "NOVO") %>% filter(OBSERVAÇÕES=="COVID-19") %>% nrow()
valueBox(value = covid19,icon = "fa-plus",caption = "Chamados relacionados ao COVID-19", color = "coral")
```
Row
-------------------------------------
### Volume de serviços prestados por colaborador
```{r}
proporcaoprodutos=data.frame(table(PROJETOS_ASCOM$`TÉCNICO RESPONSÁVEL`, PROJETOS_ASCOM$`Nº DE PEÇAS`))
names(proporcaoprodutos)=c("Funcionário", "Categoria", "Quantidade")
proporcaoatendimento=data.frame(table(ATENDIMENTO_A_IMPRENSA$`TÉCNICO RESPONSÁVEL`, ATENDIMENTO_A_IMPRENSA$`Nº DE PEÇAS`))
names(proporcaoatendimento)=c("Funcionário", "Categoria", "Quantidade")
proporcaoprodutos=merge(proporcaoprodutos, proporcaoatendimento, all=T)
proporcaoprodutos$Categoria=as.numeric(as.vector(proporcaoprodutos$Categoria))
proporcaoprodutos$Quantidade=as.numeric(as.vector(proporcaoprodutos$Quantidade))
proporcaoprodutos=proporcaoprodutos %>% filter(Quantidade!=0) %>% mutate(Quantidade2=Categoria*Quantidade) %>% select(Funcionário, Quantidade2)
# Create Data
data <- data.frame(
group=proporcaoprodutos$Funcionário,
value=proporcaoprodutos$Quantidade2
)
plot_ly(data, labels = ~group, values = ~value, type = 'pie') %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
### Proporção de serviços realizadas ponderadas por nível de complexidade
```{r}
proporcaoprodutos=data.frame(table(PROJETOS_ASCOM$`TÉCNICO RESPONSÁVEL`, PROJETOS_ASCOM$`Nº DE PEÇAS`, PROJETOS_ASCOM$CATEGORIA, PROJETOS_ASCOM$SERVIÇO)) %>% filter(Freq!=0)
#proporcaorevista=data.frame(table(PROJETOS_ASCOM$`TÉCNICO RESPONSÁVEL`, PROJETOS_ASCOM$CATEGORIA, PROJETOS_ASCOM$ETAPA)) %>% filter(Freq!=0)
#proporcaorevista = proporcaorevista %>% mutate('newcol' = rep(1, nrow(proporcaorevista)))
#names(proporcaorevista)=c('Var1', 'Var3', 'Var4', 'Freq', 'Var2')
proporcaoatendimento=data.frame(table(ATENDIMENTO_A_IMPRENSA$`TÉCNICO RESPONSÁVEL`, ATENDIMENTO_A_IMPRENSA$`Nº DE PEÇAS`))
proporcaoatendimento=proporcaoatendimento %>% mutate('Var3'= rep('Atendimento à Imprensa',nrow(proporcaoatendimento))) %>% mutate('Var4'=rep('atendimento', nrow(proporcaoatendimento)))
proporcaoatendimento = proporcaoatendimento %>% mutate('newcol' = paste(Var3,"-", Var4))
#proporcaoprodutos=merge(proporcaoprodutos, proporcaorevista, all=T) %>% merge(proporcaoatendimento, all=T) %>% mutate('newcol' = paste(Var3,"-", Var4)) %>% merge(proporcaoatendimento, all=T)
#temporario
proporcaoprodutos=merge(proporcaoprodutos, proporcaoatendimento, all=T) %>% mutate('newcol' = paste(Var3,"-", Var4)) %>% merge(proporcaoatendimento, all=T)
proporcaoprodutos=left_join(proporcaoprodutos, pesos, by="newcol")
proporcaoprodutos=proporcaoprodutos %>% drop_na()
proporcaoprodutos$Var2=as.numeric(as.vector(proporcaoprodutos$Var2))
proporcaoprodutos=proporcaoprodutos %>% mutate('Peso1' = Var2*Freq*Peso1)
# Create Data
data <- data.frame(
group=proporcaoprodutos$Var1,
value=proporcaoprodutos$Peso1
)
plot_ly(data, labels = ~group, values = ~value, type = 'pie') %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
### Proporção dos serviços realizados por etapas na produçao de revistas e relatórios de gestão
```{r}
proporcaoprodutos=data.frame(table(PROJETOS_ASCOM$ETAPA))
if(nrow(proporcaoprodutos)==0){
print("Não houve registro de atividades de revistas ou relatórios de gestão no mês analisado")
}else {
names(proporcaoprodutos)=c("Funcionário", "Quantidade")
# Create Data
data <- data.frame(
group=proporcaoprodutos$Funcionário,
value=proporcaoprodutos$Quantidade
)
plot_ly(data, labels = ~group, values = ~value) %>%
add_pie(hole = 0.6) %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
}
```
Row
---
### Quantidade de serviços prestados diariamente
```{r}
#demandas_mes=revistas_relatorios_total
unirevista=data.frame(revistas_relatorios_total$`TÉCNICO RESPONSÁVEL`, revistas_relatorios_total$`DATA DE ENTREGA`)
uniatendimento=data.frame(ATENDIMENTO_A_IMPRENSA$`TÉCNICO RESPONSÁVEL`, ATENDIMENTO_A_IMPRENSA$`DATA DE ENTREGA`)
names(uniatendimento)=names(unirevista)
uniglpiascom=data.frame(glpi_ascom$`TÉCNICO RESPONSÁVEL`, glpi_ascom$`DATA DE ENTREGA`)
names(uniglpiascom)=names(unirevista)
unificado=data.frame(table(rbind(unirevista, uniatendimento, uniglpiascom)))
teste_pecas= unificado
names(teste_pecas)=c("Colaborador", "year", "n")
teste_pecas$year=as.Date(teste_pecas$year)
teste_pecas=teste_pecas %>% filter(year>=(as.Date(cut(Sys.Date(), "month")) %m-% months(1)))
# Plot
p <- teste_pecas %>%
ggplot( aes(x=year, y=n, fill=Colaborador, text=n)) +
geom_area( )+
scale_fill_viridis(discrete = TRUE)+
#theme(legend.position="none") +
theme_ipsum()+
#theme(legend.position="none")
scale_x_date(date_labels = "%e %B")
# Turn it interactive
p <- ggplotly(p, tooltip="text") %>% layout(xaxis = list(title="Dia do mês"), yaxis = list(title="Quantidade de serviços"))
p
```
### Atividades realizadas por atendimento de chamados, relatórios e revistas
```{r}
proporcaoprodutos=data.frame(table(PROJETOS_ASCOM$CATEGORIA, PROJETOS_ASCOM$`Nº DE PEÇAS`))
proporcaoprodutos=proporcaoprodutos %>% filter(!Var1 %in% c("RELATÓRIO DE GESTÃO", "RELATÓRIO DE GESTÃO REDUZIDO", "REVISTA"))
names(proporcaoprodutos)=c("Funcionário", "Categoria", "Quantidade")
####################
####################
proporcaoprodutos=data.frame(table(PROJETOS_ASCOM$CATEGORIA , PROJETOS_ASCOM$`Nº DE PEÇAS`))
names(proporcaoprodutos)=c("Funcionário", "Categoria", "Quantidade")
proporcaoprodutos$Categoria=as.numeric(as.vector(proporcaoprodutos$Categoria))
proporcaoprodutos$Quantidade=as.numeric(as.vector(proporcaoprodutos$Quantidade))
proporcaoprodutos=proporcaoprodutos %>% filter(Quantidade!=0) %>% mutate(Quantidade2=Categoria*Quantidade) %>% select(Funcionário, Quantidade2)
###############
###############
# Create Data
data <- data.frame(
group=proporcaoprodutos$Funcionário,
value=proporcaoprodutos$Quantidade
)
plot_ly(data, labels = ~group, values = ~value) %>%
add_pie(hole = 0.6) %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
Atendimento à Imprensa {data-navmenu="ASCOM"}
=====================================
Row {data-width=150}
--------------------------------------
### Total de serviços prestados
```{r}
newhires=(PROJETOS_ASCOM %>% nrow()) - (PROJETOS_ASCOM %>% filter(`Nº DE PEÇAS`>=1) %>% nrow()) + +sum(na.omit(PROJETOS_ASCOM$`Nº DE PEÇAS`)) + (ATENDIMENTO_A_IMPRENSA %>% nrow())
valueBox(value = newhires,icon = "fa-thumbs-up",caption = "Serviços Executados no mês",color = "#7DB61C")
```
### Relatórios de Gestão e Resvistas
```{r}
exits= PROJETOS_ASCOM %>% filter(CATEGORIA %in% c("RELATÓRIO DE GESTÃO", "RELATÓRIO DE GESTÃO REDUZIDO", "REVISTA")) %>% nrow()
valueBox(value = exits,icon = "fa-pencil",caption = "Relatórios de Gestão e Revistas", color = "#00AE9D")
```
### Chamados via GLPI e outras fontes
```{r}
chamados= glpi_ascom %>% nrow()
valueBox(value = chamados,icon = "fa-comments",caption = "Chamados atendidos", color = "#49479D")
```
### Atendimento a imprensa
```{r}
netchange=ATENDIMENTO_A_IMPRENSA %>% nrow()
valueBox(value = netchange,icon = "fa-user-plus",caption = "Atendimento à Imprensa", color = "orange")
```
### Chamados de COVID-19
```{r}
covid19 = glpi_ascom %>% filter(STATUS != "NOVO") %>% filter(OBSERVAÇÕES=="COVID-19") %>% nrow()
valueBox(value = covid19,icon = "fa-plus",caption = "Chamados relacionados ao COVID-19", color = "coral")
```
Row
---
### Jornais que contataram
```{r}
pecas_acumuladas=data.frame(table(ATENDIMENTO_A_IMPRENSA$`QUAL É O JORNAL?`))
plot_ly(pecas_acumuladas, x = ~reorder(Var1, -Freq), y = ~Freq, type = 'bar', name = 'SF Zoo') %>%
layout(barmode = 'group', xaxis = list(title = "Tipo de peça"))
```
### Assuntos abordados no atendimento à imprensa
```{r}
a=data.frame(rbind(data.frame(table(ATENDIMENTO_A_IMPRENSA$`ASSUNTO REDUZIDO`)), data.frame(10*table(ATENDIMENTO_A_IMPRENSA$`ASSUNTO REDUZIDO`)), data.frame(5*table(ATENDIMENTO_A_IMPRENSA$`ASSUNTO REDUZIDO`)), data.frame(20*table(ATENDIMENTO_A_IMPRENSA$`ASSUNTO REDUZIDO`))))
#a=data.frame(table(atendimento_a_imprensa$`ASSUNTO REDUZIDO`))
wordcloud(words = a$Var1, freq = a$Freq, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
#wordcloud2(a, size=1.6, color='random-dark')
#wordcloud2(a, size = 0.7, shape = 'star')
```
### Forma do contato
```{r}
proporcaoprodutos=data.frame(table(ATENDIMENTO_A_IMPRENSA$`FORMA DE CONTATO`))
names(proporcaoprodutos)=c("Funcionário", "Quantidade")
# Create Data
data <- data.frame(
group=proporcaoprodutos$Funcionário,
value=proporcaoprodutos$Quantidade
)
plot_ly(data, labels = ~group, values = ~value, type = 'pie') %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
Row
---
### Encarregados dos atendimentos
```{r}
proporcaoprodutos=data.frame(table(ATENDIMENTO_A_IMPRENSA$`TÉCNICO RESPONSÁVEL`))
names(proporcaoprodutos)=c("Funcionário", "Quantidade")
# Create Data
data <- data.frame(
group=proporcaoprodutos$Funcionário,
value=proporcaoprodutos$Quantidade
)
plot_ly(data, labels = ~group, values = ~value) %>%
add_pie(hole = 0.6) %>%
layout(xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
```
### Data do contato no mês
```{r}
demandas_mes=ATENDIMENTO_A_IMPRENSA
teste_pecas=data.frame(table(demandas_mes$`TÉCNICO RESPONSÁVEL`, demandas_mes$`DATA DO CONTATO`))
names(teste_pecas)=c("name", "year", "n")
teste_pecas$year=as.Date(teste_pecas$year)
# Plot
p <- teste_pecas %>%
ggplot( aes(x=year, y=n, fill=name, text=n)) +
geom_area( )+
scale_fill_viridis(discrete = TRUE)+
#theme(legend.position="none") +
theme_ipsum()+
scale_x_date(date_labels = "%e %B")
#theme(legend.position="none")
# Turn it interactive
p <- ggplotly(p, tooltip="text")
p
```
Interrelação dos chamados {data-navmenu="ASCOM"}
=====================================
Row {data-width=150}
--------------------------------------
### Total de serviços prestados
```{r}
newhires=(PROJETOS_ASCOM %>% nrow()) - (PROJETOS_ASCOM %>% filter(`Nº DE PEÇAS`>=1) %>% nrow()) + +sum(na.omit(PROJETOS_ASCOM$`Nº DE PEÇAS`)) + (ATENDIMENTO_A_IMPRENSA %>% nrow())
valueBox(value = newhires,icon = "fa-thumbs-up",caption = "Serviços Executados no mês",color = "#7DB61C")
```
### Relatórios de Gestão e Resvistas
```{r}
exits= PROJETOS_ASCOM %>% filter(CATEGORIA %in% c("RELATÓRIO DE GESTÃO", "RELATÓRIO DE GESTÃO REDUZIDO", "REVISTA")) %>% nrow()
valueBox(value = exits,icon = "fa-pencil",caption = "Relatórios de Gestão e Revistas", color = "#00AE9D")
```
### Chamados via GLPI e outras fontes
```{r}
chamados= glpi_ascom %>% nrow()
valueBox(value = chamados,icon = "fa-comments",caption = "Chamados atendidos", color = "#49479D")
```
### Atendimento a imprensa
```{r}
netchange=ATENDIMENTO_A_IMPRENSA %>% nrow()
valueBox(value = netchange,icon = "fa-user-plus",caption = "Atendimento à Imprensa", color = "orange")
```
### Chamados de COVID-19
```{r}
covid19 = glpi_ascom %>% filter(STATUS != "NOVO") %>% filter(OBSERVAÇÕES=="COVID-19") %>% nrow()
valueBox(value = covid19,icon = "fa-plus",caption = "Chamados relacionados ao COVID-19", color = "coral")
```
Row
---
### Origem e destino do chamado
```{r}
# Create dummy data
glpi <- glpi_2020 %>% mutate(`Atribuído para - Técnico` = replace(`Atribuído para - Técnico`, `Atribuído para - Técnico` %in% c("Ana Clara Batista dos Santos", "Katia Caldeira Borges", "Kenny Maicon Barcelos Silva", "Samuel Ferreira Lima"), "110 - Marketing Institucional")) %>% mutate(`Atribuído para - Técnico` = replace(`Atribuído para - Técnico`, `Atribuído para - Técnico` %in% c("João Victor Martins Costa"), "112 - Marketing de Produtos")) %>% mutate(`Atribuído para - Técnico` = replace(`Atribuído para - Técnico`, `Atribuído para - Técnico` %in% c("Brenda Marilia de Jesus", "Marina Silva Romagnoli - 2015", "Michel Vieira de Paiva"), "111 - Assessoria De Imprensa")) %>% mutate(`Atribuído para - Técnico` = replace(`Atribuído para - Técnico`, `Atribuído para - Técnico` %in% c("Mônada Swany de Castro Silva Lopes"), "119 - Mídias Digitais - Marketing")) %>% filter(`Atribuído para - Técnico` %in% c("112 - Marketing de Produtos", "110 - Marketing Institucional", "111 - Assessoria De Imprensa", "119 - Mídias Digitais - Marketing") )
m=data.frame(table(glpi$`Atribuído para - Técnico`, glpi$Categoria))
groupColors <- c("#00AE9D", "#7DB61C", "#003641", "#49479D")
matriz <- matrix(m$Freq,
byrow = TRUE,
nrow = length(table(m$Var1)), ncol = length(table(m$Var1)))
colors <- names(table(m$Var1))
dimnames(matriz) <- list(Origem = colors,
Destino = colors)
groupColors <- c("#00AE9D", "#7DB61C", "#003641", "#49479D")
p <- chorddiag(matriz, groupColors = groupColors, groupnamePadding = 20)
p
```